﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BLLEP.Funcionalidad
{
    public enum Actividades
    {
        CreacionCuenta = 1,
        Acceso = 2
    }

    public class BLLActividadUsuario:BLLGenerico
    {
        public BLLActividadUsuario(EstacionDePoderDataContext contexto) : base(contexto) { }
        public BLLActividadUsuario() : this(new EstacionDePoderDataContext()) { }

        public void RegistrarCreacionCuenta(EP_Usuario usuario, string ipCliente)
        {
            EP_ActividadUsuario asignacion = new EP_ActividadUsuario();
            asignacion.EP_Actividad = TraerActividad(Actividades.CreacionCuenta.ToString());
            asignacion.EP_Usuario = usuario;
            asignacion.FechaHora = DateTime.Now;
            asignacion.IP = ipCliente;
            Contexto.EP_ActividadUsuarios.InsertOnSubmit(asignacion);
        }

        public void RegistrarAccesoCuenta(EP_Usuario usuario, string ipCliente)
        {
            EP_ActividadUsuario asignacion = new EP_ActividadUsuario();
            asignacion.EP_Actividad = TraerActividad(Actividades.Acceso.ToString());
            asignacion.EP_Usuario = usuario;
            asignacion.FechaHora = DateTime.Now;
            asignacion.IP = ipCliente;
            Contexto.EP_ActividadUsuarios.InsertOnSubmit(asignacion);
        }

        public EP_Actividad TraerActividad(string nombre)
        {
            return Contexto.EP_Actividads.Where(a => a.Nombre.ToLower().Equals(nombre.ToLower())).FirstOrDefault();
        }
    }
}
